import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_order_hybrid/api/order.dart';
import 'package:flutter_order_hybrid/utils/TokenManager.dart';
import 'components/order_tab_bar.dart';
import 'components/order_item.dart';

class OrderPage extends StatefulWidget {
  const OrderPage({super.key});

  @override
  State<OrderPage> createState() => _OrderPageState();
}

class _OrderPageState extends State<OrderPage>
    with SingleTickerProviderStateMixin {
  late TabController _tabController;
  final List<String> _tabs = ['全部', '待付款', '待发货', '待收货', '待评价'];

  // final List<Map<String, dynamic>> _orderList = [
  //   {
  //     'id': '1001',
  //     'createTime': '2024-01-15 18:03:24',
  //     'payType': 1,
  //     'orderState': 1,
  //     'payLatestTime': '2024-01-15 19:03:24',
  //     'postFee': 0,
  //     'payMoney': 25.00,
  //     'totalMoney': 25.00,
  //     'totalNum': 1,
  //     'skus': [
  //       {
  //         'id': 'sku001',
  //         'spuId': 'spu001',
  //         'name': 'DIOR 迪奥 LADY D-JOY 中号羊皮格纹女士手提包',
  //         'quantity': 1,
  //         'image': 'assets/images/bag.png',
  //         'realPay': 25.00,
  //         'curPrice': 25.00,
  //         'totalMoney': 25.00,
  //         'properties': [
  //           {'propertyMainName': '颜色', 'propertyValueName': '黑色'},
  //           {'propertyMainName': '尺码', 'propertyValueName': 'L'}
  //         ],
  //         'attrsText': '黑色 L'
  //       }
  //     ],
  //     'payChannel': 1,
  //     'countdown': 3600
  //   },
  //   {
  //     'id': '1002',
  //     'createTime': '2024-01-15 17:03:24',
  //     'payType': 1,
  //     'orderState': 2,
  //     'payLatestTime': '2024-01-15 18:03:24',
  //     'postFee': 0,
  //     'payMoney': 25.00,
  //     'totalMoney': 25.00,
  //     'totalNum': 1,
  //     'skus': [
  //       {
  //         'id': 'sku002',
  //         'spuId': 'spu001',
  //         'name': 'DIOR 迪奥 LADY D-JOY 中号羊皮格纹女士手提包',
  //         'quantity': 1,
  //         'image': 'assets/images/bag.png',
  //         'realPay': 25.00,
  //         'curPrice': 25.00,
  //         'totalMoney': 25.00,
  //         'properties': [
  //           {'propertyMainName': '颜色', 'propertyValueName': '红色'},
  //           {'propertyMainName': '尺码', 'propertyValueName': 'M'}
  //         ],
  //         'attrsText': '红色 M'
  //       }
  //     ],
  //     'payChannel': 1,
  //     'countdown': 3600
  //   }
  // ];
  final _platforms = const MethodChannel("hdm_project"); // 实例化的平台对象 电话
  List<Map<String, dynamic>> _orderList = []; // 订单列表
  @override
  void initState() {
    super.initState();
    _tabController = TabController(length: _tabs.length, vsync: this);
    _getToken();
  }

  _getToken() async {
    String token = await _platforms.invokeMethod("getToken");
    if (token.isNotEmpty) {
      TokenManager.token = token;
      // 获取数据
      _getOrderList();
      // dio调用接口
    }
  }

  Map<String, dynamic> params = {"page": 1, "pageSize": 10, "orderState": 0};
  _getOrderList() async {
    try {
      final res = await getOrderListAPI(params);
      _orderList = List<Map<String, dynamic>>.from(res["items"]);
      setState(() {});
    } catch (e) {
      _platforms.invokeMethod("showMessage", e.toString());
    }
  }

  @override
  void dispose() {
    _tabController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: const Color(0xFFF5F5F5),
      body: Column(
        children: [
          OrderTabBar(
            tabs: _tabs,
            controller: _tabController,
          ),
          Expanded(
            child: ListView.builder(
              padding: const EdgeInsets.symmetric(horizontal: 12),
              itemCount: _orderList.length,
              itemBuilder: (context, index) {
                return OrderItem(
                  orderInfo: _orderList[index],
                );
              },
            ),
          ),
        ],
      ),
    );
  }
}
